App Routerで実装するかどうか?
2024年度でも、Next.jsのApp Routerを利用するかどうかは賛否ある。
ちゃんと整理したい。
前提スコープ
事業
SEO 検索エンジン最適化、WebPlatformApp Performanceを重視していてチューニングして競争優位性を作りたい、c向けapp
SSR Server Side Renderingが必須
デザイン
リッチな対話的 Interactiveな体験必須: client JS必須
Design System デザインシステム 実装も必須: 実質的に、Storybook対応したい。
細かい機能とか。
認証 Authentication、認可 Authorization
Form フォーム UI
3rd PartyなUIやAPIの利用: google map apiを利用した地図Viewなど
画像: Image Optimizations 画像最適化が必須
Tracking 追跡: 様々な広告から、Conversion コンバージョンまで追える。
third-party scriptsの利用。利用しても、WebPlatformApp Performanceを下げにくくしたい。
技術
must
TypeScript
Styling スタイリングの良い管理
CSS Modules、zero runtime CSS in JS、メタCSSフレームワークなど
Test テスト Testing: 何かしらがほしい。
more: ほしい。
mock apiの利用: 実質的に、Mock Service Worker MSWが利用出来る。
どっちでもいい
React: 昨今は、not Reactなフレームワークもあるし、仮想DOM Virtual DOMが重いとか
Data Fetchingライブラリ対応: どっちでもいい。
State Management 状態管理ライブラリ対応: 意外と利用少なさそうなので。
UI Framework対応: React Server Components RSCがあるので、 Headless UIを使おう。
app routerでよく挙げられている課題ってなんだっけ?
chache app router
History APIが使えない?
updateすると壊れる?